.TH std::output_iterator 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::output_iterator \- std::output_iterator

.SH Synopsis
   Defined in header <iterator>
   template< class I, class T >

       concept output_iterator =
           std::input_or_output_iterator<I> &&
           std::indirectly_writable<I, T> &&                              \fI(since C++20)\fP
           requires(I i, T&& t) {
               *i++ = std::forward<T>(t); /* not required to be
   equality-preserving */

           };

   The output_iterator concept is a refinement of input_or_output_iterator, adding the
   requirement that it can be used to write values of type and value category encoded
   by T (via indirectly_writable). equality_comparable is not required.

.SH Notes

   Unlike the LegacyOutputIterator requirements, the output_iterator concept does not
   require that the iterator category tag be defined.

   Algorithms on output iterators should be single pass.

.SH See also

   input_or_output_iterator specifies that objects of a type can be incremented and
   (C++20)                  dereferenced
                            (concept)
